﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Http;
using System.Web.Mvc;
using System.Web.Routing;

namespace LCTMoodle
{
    public class MvcApplication : System.Web.HttpApplication
    {
        protected void Application_Start()
        {
            // 0: Khách
            // 1: Thành viên
            // 2: Đã truy cập
            Application["BoDem"] = new int[3];
            int[] boDem = (int[])Application["BoDem"];
            boDem[2] = LCTMoodle.Helper.TienIch.layXML_Data<int>("BoDem/DaTruyCap"); //Tăng lượt đã truy cập


            AreaRegistration.RegisterAllAreas();

            WebApiConfig.Register(GlobalConfiguration.Configuration);
            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
            RouteConfig.RegisterRoutes(RouteTable.Routes);
        }
        protected void Session_Start()
        {
            //Khởi tạo session quyền
            Session["Quyen"] = new Dictionary<int, string>();

            //Xử lý bộ đếm
            int[] boDem = (int[])Application["BoDem"];
            boDem[2]++; //Tăng lượt đã truy cập
            LCTMoodle.Helper.TienIch.ganXML_Data("BoDem/DaTruyCap", boDem[2].ToString());

            //Kiểm tra cookie người dùng
            //Nếu có => tăng biến đếm thành viên
            //Nếu không => tăng biến đếm khách
            HttpCookie cookie = Request.Cookies.Get("NguoiDung");
            if (cookie != null)
            {
                Session["NguoiDung"] = LCTMoodle.Service.NguoiDungService.layNguoiDungTheoMaNguoiDung(Convert.ToInt32(cookie["Ma"]));
                boDem[1]++; //Tăng thành viên trực tuyến
            }
            else
            {
                boDem[0]++; //Tăng khách trực tuyến
            }
        }
        protected void Session_End()
        {
            //Xử lý bộ đếm
            int[] boDem = (int[])Application["BoDem"];
            //Nếu tồn tại session người dùng => thành viên
            if (Session["NguoiDung"] != null)
            {
                boDem[1]--; //Giảm thành viên trực tuyến
            }
            else
            {
                boDem[0]--; //Giảm khách trực tuyến
            }
        }
    }
}